home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 July: Mac OS SDK / Dev.CD Jul 96 SDK / Dev.CD Jul 96 SDK1.toast / Development Kits (Disc 1) / OpenDoc Development Framework / ODFDev / ODF / Found / FWDebug / Include / FWPrfCnt.h < prev    next >
Encoding:
Text File  |  1996-04-25  |  1.7 KB  |  79 lines  |  [TEXT/MPS ]

  1. //========================================================================================
  2. //
  3. //    File:                FWPrfCnt.h
  4. //    Release Version:    $ ODF 1 $
  5. //
  6. //    Copyright:    (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
  7. //
  8. //========================================================================================
  9.  
  10. #ifndef FWPRFCNT_H
  11. #define FWPRFCNT_H
  12.  
  13. #ifndef FWSTDDEF_H
  14. #include "FWStdDef.h"
  15. #endif
  16.  
  17. #ifdef FW_PROFILE
  18.  
  19. #if defined(FW_BUILD_MAC) && !defined(__TIMER__)
  20. #include <Timer.h>
  21. #endif
  22.  
  23. #if defined(FW_BUILD_WIN) && !defined(_INC_WINDOWS)
  24. #include <windows.h>
  25. #endif
  26.  
  27. //========================================================================================
  28. // CLASS FW_CPrivPerformanceCounter
  29. //========================================================================================
  30.  
  31. class FW_CPrivPerformanceCounter
  32. {
  33. public:
  34. // ---- Construction
  35.     FW_CPrivPerformanceCounter();
  36.     ~FW_CPrivPerformanceCounter();
  37.     
  38.     void        EndCheckPoint();
  39.  
  40. // ----- Implementation
  41. private:
  42.     long            fResult;
  43. #ifdef FW_BUILD_WIN
  44.     LARGE_INTEGER    fWinBegin;
  45.     LARGE_INTEGER    fWinEnd;
  46.     static DWORD    gWinOverhead;
  47.     static DWORD    gWinFreq;
  48. #endif
  49. #ifdef FW_BUILD_MAC
  50.     TMTask            fMacTMTask;
  51.     FW_Boolean        fMacIsInQueue;
  52.     
  53.     static long        gMacTMOverhead;
  54. #endif
  55. };
  56.  
  57. #endif
  58.  
  59. //========================================================================================
  60. // Performance counter macros
  61. //========================================================================================
  62.  
  63. #ifdef FW_PROFILE
  64.  
  65. #define    FW_PERF_CNT_BEGIN(name)        \
  66.     FW_CPrivPerformanceCounter perfCntObj##name;
  67.  
  68. #define    FW_PERF_CNT_END(name)        \
  69.     perfCntObj##name.EndCheckPoint();
  70.  
  71. #else
  72.  
  73. #define    FW_PERF_CNT_BEGIN(name)        ((void) 0)
  74. #define    FW_PERF_CNT_END(name)        ((void) 0)
  75.  
  76. #endif
  77.  
  78. #endif // FWPRFCNT_H
  79.